#ifndef _H_ACTOR
#define _H_ACTOR

#include "types.h"

#include "mapObject.h"

#define FAC_NEUTRAL 0
#define FAC_ALLY    1
#define FAC_ENNEMY  2

class action;

class actor: public mapObject{

    protected:
        unsigned char faction;

        bool busy;
        action* curaction;

    public:
        actor();
        virtual ~actor();

        unsigned char getFaction();
        bool isBusy();
        action* getCurAction();
        void endAction();
        virtual f_coord_t getFCoord();

        virtual void exec_AI();

        virtual bool move(direc_t,unsigned int);

};

#endif
